import { Directive } from "vue";

// 自定义指令 copy
const copy: Directive<HTMLElement, string> = (el, binding) => {
	// 将元素的光标修改为手指
	el.style.cursor = 'pointer'
	// 用户点击绑定的元素时触发，在加载和更新数据后都会执行一次，但是'onclick'形式的绑定只会执行最后一次绑定的事件
	// 不会出现点击一次复制两次的情况
	el.onclick = async () => {
		// 等待复制任务返回结果
		await navigator.clipboard.writeText(binding.value)
		// 成功提示
		ElMessage.success('复制成功~')
	}
}

export default copy